#ifndef CAMERA_CALIBRATION_H
#define CAMERA_CALIBRATION_H

#include <opencv2/opencv.hpp>
#include <vector>
#include <string>

using namespace cv;
using namespace std;

class CameraCalibration {
public:
    CameraCalibration(const string& calibDataPath, const Size& boardSize, float squareSize);
    bool calibrate();
    Mat getCameraMatrix() const { return cameraMatrix; }
    Mat getDistCoeffs() const { return distCoeffs; }

private:
    string calibDataPath;
    Size boardSize;
    float squareSize;
    Mat cameraMatrix, distCoeffs;
};

#endif // CAMERA_CALIBRATION_H
